/*
    author:llp
    date:2020-6-19
    content:user operator
 */

const userDao=require('../dao/userDao');
const md5=require('../utils/md5/md5');

//1.注册：查询用户的存在性，否则增加
async function addUser(user) {
    var ret=await userDao.findByName(user.name);
    //找到用户
    if(ret.success) {
        return {success: false, msg: '用户已存在'};
    }else {
        user.password=md5.toMd5(user.password);
        var data=await userDao.addUser(user);
        if(data.success) {
            return data;
        }
    }
}

//2.登录：查出用户，然后进行密码比对
//对数据库里的密码进行md5验证，所数据一般要进行密码验证
async function login(user) {
    var ret=await userDao.findByName(user.name);
    //找到用户
    if(ret.success){
        var password=md5.toMd5(user.password);
        if(password==ret.user.password){
            return {success:true,user:ret.user};
        }else {
            return {success:false,msg:'用户密码不正确!'};
        }
    }else {
        return {success:false,msg:'用户名不存在!'};
    }
}

async function loginCookie(user) {
    var ret=await userDao.findByName(user.name);
    //找到用户
    if(ret.success){
        if(user.password==ret.user.password){
            return {success:true,user:ret.user};
        }else {
            return {success:false,msg:'用户密码不正确!'};
        }
    }else {
        return {success:false,msg:'用户名不存在!'};
    }
}

exports.addUser=addUser;
exports.login=login;
exports.loginCookie=loginCookie;